package aceim.protocol.snuk182.icq.inner.dataentity;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import aceim.protocol.snuk182.icq.inner.ICQConstants;
import aceim.protocol.snuk182.icq.utils.ProtocolUtils;
public class ICQBuddy implements Serializable {
/**
*
*/
private static final long serialVersionUID = -4381611554924297253L;
public String uin;
public String screenName;
public int groupId;
public int itemId;
public short flagType;
public byte visibility = ICQConstants.VIS_REGULAR;
public String email;
public String phone;
public String comment;
public List<TLV> additional = new ArrayList<TLV>();
public ICQOnlineInfo onlineInfo = new ICQOnlineInfo();
public void setAdditional(TLV[] tlvs, List<ICQBuddy> notAuthList) {
if (tlvs==null) return;
for (int i=0; i<tlvs.length; i++){
TLV tlv = tlvs[i];
switch(tlv.type){
case 0x0066:
visibility = ICQConstants.VIS_NOT_AUTHORIZED;
notAuthList.add(this);
break;
case 0x0137:
email = ProtocolUtils.getEncodedString(tlv.value);
break;
case 0x013a:
phone = ProtocolUtils.getEncodedString(tlv.value);
break;
case 0x0131:
screenName = ProtocolUtils.getEncodedString(tlv.value);
break;
case 0x013c:
comment = ProtocolUtils.getEncodedString(tlv.value);
break;
/*case 0x013d:
//alert tunes
break;
case 0x013e:
//alert id
break;*/
case 0x0145:
onlineInfo.memberSinceTime = ProtocolUtils.bytes2Date(tlv.value);
break;
default:
additional.add(tlv);
//System.out.println(" unknown tlv: "+Utils.getSpacedHexString(Utils.int2ByteBE(tlv.getType())));
}
}
}
@Override
public String toString(){
return "Buddy: "+uin;
}
}